/**
* Copyright (c) By zengqh.
*
* This program is just for fun or demo, in the hope that it  
* will be useful, you can redistribute it and/or modify freely.
*
* Time: 2013/02/17
* File: vector2.cpp
* Blog: http://www.cnblogs.com/zengqh/
**/

#include "enn_vector2.h"

namespace enn
{
template <> const Vector2<float> Vector2<float>::ZERO(0.0f, 0.0f);
template <> const Vector2<float> Vector2<float>::LEFT(-1.0f, 0.0f);
template <> const Vector2<float> Vector2<float>::RIGHT(1.0f, 0.0f);
template <> const Vector2<float> Vector2<float>::UP(0.0f, 1.0f);
template <> const Vector2<float> Vector2<float>::DOWN(0.0f, -1.0f);
template <> const Vector2<float> Vector2<float>::ONE(1.0f, 1.0f);

template <> const Vector2<double> Vector2<double>::ZERO(0.0f, 0.0f);
template <> const Vector2<double> Vector2<double>::LEFT(-1.0f, 0.0f);
template <> const Vector2<double> Vector2<double>::RIGHT(1.0f, 0.0f);
template <> const Vector2<double> Vector2<double>::UP(0.0f, 1.0f);
template <> const Vector2<double> Vector2<double>::DOWN(0.0f, -1.0f);
template <> const Vector2<double> Vector2<double>::ONE(1.0f, 1.0f);

template <> const Vector2<int> Vector2<int>::ZERO(0, 0);
template <> const Vector2<int> Vector2<int>::LEFT(-1, 0);
template <> const Vector2<int> Vector2<int>::RIGHT(1, 0);
template <> const Vector2<int> Vector2<int>::UP(0, 1);
template <> const Vector2<int> Vector2<int>::DOWN(0, -1);
template <> const Vector2<int> Vector2<int>::ONE(1, 1);

/** just for compile, do not use it */
template <> const Vector2<unsigned int> Vector2<unsigned int>::ZERO(0, 0);
template <> const Vector2<unsigned int> Vector2<unsigned int>::LEFT(-1, 0);
template <> const Vector2<unsigned int> Vector2<unsigned int>::RIGHT(1, 0);
template <> const Vector2<unsigned int> Vector2<unsigned int>::UP(0, 1);
template <> const Vector2<unsigned int> Vector2<unsigned int>::DOWN(0, -1);
template <> const Vector2<unsigned int> Vector2<unsigned int>::ONE(1, 1);

}

